#include <Arduino.h>  // 必须放在最开头！

/* 
    PWM控制灯的闪烁--呼吸灯
 */

// 定义led的gpio口
#define LED_PIN           21
// 设置通道0
#define CHANNEL           0
// 设置分辨率 8 占空比给分极 如8，即2的8次方 即256
#define RESOLUTION        8
// 设置频率 2000
#define FREQ              2000


void setup() {
  // 初始化ledc 通道 
  ledcSetup(CHANNEL,FREQ,RESOLUTION);
  // 通道绑定引脚
  ledcAttachPin(LED_PIN, CHANNEL);
}

void loop() {
  int maxBrightness = pow(2, RESOLUTION); // 计算最大亮度值
  // 实现渐亮效果
  for(int i =0;i<maxBrightness;i++){
    ledcWrite(CHANNEL,i);
    delay(10);
  }

  // 实现渐暗效果
  for(int i=maxBrightness-1;i>=0;i--){
    ledcWrite(CHANNEL,i);
    delay(10);
  }
  
}